export interface AlgoList {
  name?: string
  content?: string
  number?: string
  status?: string
  /**
   * API
   */
  apiServiceList: ApiServiceList[]
  /**
   * SDK
   */
  sdkServiceList: SdkServiceList[]
}

export interface ApiServiceList {
  algorithmServiceName: string
  id: string
  operateList: ApiServiceListOperateList[]
  selectFlag: boolean
  showErrorCollapse: boolean
}

export interface ApiServiceListOperateList {
  algorithmId: string
  algorithmServiceName: string
  /**
   * 应用服务id
   */
  appServeId?: number
  /**
   * 可用qps
   */
  availableQps: number
  id: string
  qps?: number
  /**
   * 是否已申请
   */
  selectFlag: boolean
  /**
   * 调用总量
   */
  totalCallNum?: number | undefined | null
  type: number
  versionName: string
  addTotalCallNum: number | undefined | null
  addQps: number | undefined | null
  isInputAddQps: boolean
  isInputAddTotalCall: boolean
}

export interface SdkServiceList {
  algorithmServiceName: string
  id: string
  operateList: SdkServiceListOperateList[]
  selectFlag: boolean
  showErrorCollapse: boolean
}

export interface SdkServiceListOperateList {
  relId: string
  /**
   * 激活方式id
   */
  activationMethodId: number
  /**
   * 激活方式
   */
  activationMethodName: string
  /**
   * 应用服务id
   */
  appServeId?: number
  algorithmId: string
  algorithmServiceName: string
  id: string
  /**
   * 语言
   */
  languageName: string
  /**
   * 平台
   */
  platformName: string
  type: number
  versionName: string
  operateMethodId: string
  totalCallNum: number
  qps: number
  addTotalCallNum: number | undefined
  addTotalActivateNum: number | undefined
  addQps: number
  authType: number
  selectFlag: boolean
  sign: string
  isInputAddTotalActivateNum: boolean
  fileName: string
  totalActivateNum?: number
}

export type Key = number | string

export interface APIService {
  operateMethodId: string
  appServeId: number | string | undefined
  totalCallNum: number
  addTotalCallNum: number
  addQps: number
  qps: number
}

export interface SubmitForm {
  name: string
  content: string
  number: string
  status: string
  apiList: APIService[]
  sdkList: any[]
}
